xen/xsm/flask: Fix Flask MLS context generation
authorKeir Fraser <keir.fraser@citrix.com>
Tue, 25 Aug 2009 13:58:07 +0000 (14:58 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Tue, 25 Aug 2009 13:58:07 +0000 (14:58 +0100)
Signed-off-by: Stephen D. Smalley <sds@tycho.nsa.gov>
xen/xsm/flask/ss/mls.c

index aee9fc312a4c764646868a81e1af25bd1ff45f47..bbe7a49a61524f4d0f504c9cd69306477dba3630 100644 (file)
@@ -105,7 +105,7 @@ void mls_sid_to_context(struct context *context, char **scontext)
     {
         memcpy(scontextp,
                 policydb.p_sens_val_to_name[context->range.level[l].sens - 1],
-                strlen(policydb.p_sens_val_to_name[context->range.level[l].sens - 1]));
+                strlen(policydb.p_sens_val_to_name[context->range.level[l].sens - 1])+1);
         scontextp += strlen(scontextp);
 
         /* categories */
@@ -124,7 +124,7 @@ void mls_sid_to_context(struct context *context, char **scontext)
                     else
                         *scontextp++ = ',';
                     nm = policydb.p_cat_val_to_name[prev];
-                    memcpy(scontextp, nm, strlen(nm));
+                    memcpy(scontextp, nm, strlen(nm)+1);
                     scontextp += strlen(nm);
                 }
                 if ( prev < 0 )
@@ -132,7 +132,7 @@ void mls_sid_to_context(struct context *context, char **scontext)
                 else
                     *scontextp++ = ',';
                 nm = policydb.p_cat_val_to_name[i];
-                memcpy(scontextp, nm, strlen(nm));
+                memcpy(scontextp, nm, strlen(nm)+1);
                 scontextp += strlen(nm);
                 head = i;
             }
@@ -146,7 +146,7 @@ void mls_sid_to_context(struct context *context, char **scontext)
             else
                 *scontextp++ = ',';
             nm = policydb.p_cat_val_to_name[prev];
-            memcpy(scontextp, nm, strlen(nm));
+            memcpy(scontextp, nm, strlen(nm)+1);
             scontextp += strlen(nm);
         }